package com.qualiti.javaweb.modelo;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;

public class Compra implements Serializable {

	private Long numero;
	private Usuario usuario;
	private Map<Livro, Integer> livros;
	private Date data;
	
	public Long getNumero() {
		return numero;
	}

	public void setNumero(Long numero) {
		this.numero = numero;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Map<Livro, Integer> getLivros() {
		return livros;
	}

	public void setLivros(Map<Livro, Integer> livros) {
		this.livros = livros;
	}
	
	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	@Override
	public int hashCode() {
		return new HashCodeBuilder().append(numero).toHashCode();
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		return new EqualsBuilder().append(numero, ((Compra) obj).getNumero()).isEquals();
	}

	@Override
	public String toString() {
		return new ToStringBuilder(this).append("numero", numero).toString();
	}
}
